/**
 * 系统全局System数据存储
 */
import { getStorageCache } from '@/common/cache'
import theme from '@/styles/theme.module.scss'

//设置默认State
const getDefaultState = () => {
  return {
    DefEnvCon: getStorageCache('Env-Config') || import.meta.env, // DefaultEnvironmentConfig
    theme: theme.primary, // $uv-primary
    mode: 'light', // 明亮模式、暗黑模式（暂未支持）
    modeAuto: false, // 跟随系统
    fontSize: 14, // 设置默认字号
  }
}
//初始化State
const state = getDefaultState()

const mutations = {
  SET_SYSTEM_THEME(state, theme) {
    state.theme = theme
  },

  SET_DEF_ENV_CON(state, env) {
    state.DefEnvCon = env
  },

  RESET_STATE(state) {
    Object.assign(state, getDefaultState())
  },
}

const actions = {
  ResetState({ commit }) {
    commit('RESET_STATE')
  },

  setTheme({ commit }, theme = 'primary') {
    // 设置system使用主题配色
    commit('SET_SYSTEM_THEME', theme)
    // 设置ui框架主题色
    uni.$uv.setConfig({
      config: {
        color: {
          'uv-primary': theme.primary,
        },
      },
    })
  },
}

export default {
  namespaced: true,
  state,
  mutations,
  actions,
}
